package com.zbkj.common.response.project;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Auther:
 * @Date: 2024/7/6 20:02
 * @Description:
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "AdminProjectInfoResponse对象", description = "服务端项目信息响应对象")
public class AdminProjectInfoResponse implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("项目类型：1 国标项目，2 军标项目")
    private Integer projectType;

    @ApiModelProperty("评估标准：国标项目时1 ，军标项目时2")
    private Integer criteriaType;

    @ApiModelProperty("0 客户项目 1模板项目")
    private Integer sourceType;

    @ApiModelProperty("重用程度 军标重用程度选项 国标为0")
    private Integer reuseItem;

    @ApiModelProperty("项目预算金额")
    private BigDecimal budgetAmount;

    @ApiModelProperty("0 待估算 10 已撤回 20 估算中 30 估算完成 40 报告中 50 已完成")
    private Integer status;

    @ApiModelProperty("创建提交时间")
    private Date createTime;

    @ApiModelProperty("估算开时间")
    private Date estimateBeginTime;

    @ApiModelProperty("估算结束时间")
    private Date estimateEndTime;

    @ApiModelProperty("估算确认时间")
    private Date estimateConfirmTime;

    @ApiModelProperty("报告提交时间")
    private Date reportTime;

    @ApiModelProperty("完成时间")
    private Date completeTime;

    @ApiModelProperty("所属公司名称")
    private String companyName;
    @ApiModelProperty("项目联系人")
    private String contactName;
    @ApiModelProperty("项目联系电话")
    private String contactPhone;

    @ApiModelProperty("估算处理：0 初始状态 1、自动调用ai估算、2 人工调用估算(ai估算开关未开启)、3 文档超出限制需人工估算")
    private Integer estimateSource;

    @ApiModelProperty("是否通知客户端：0 未通知 1、已通知")
    private Integer estimateFlag;

    @ApiModelProperty("估算ai调用返回标识 0 无  1 ai已返回数据")
    private Integer aiNotfiyFlag;

    @ApiModelProperty("报告申请状态：0未申请,1申请中,2已驳回,3已通过")
    private Integer reportApplyStatus;

    @ApiModelProperty("是否可完成确认标识： 0 不可确认  1 可确认 （上传报告更新） 2 已通知客户端")
    private Integer reportFlag;

    @ApiModelProperty("调整前功能点数")
    private BigDecimal softwarePoints;
    @ApiModelProperty("估算软件规模")
    private BigDecimal softwareFun;
    @ApiModelProperty("软件评估费用")
    private BigDecimal softwareFee;

    @ApiModelProperty("省份code")
    private String provinceCode;
    @ApiModelProperty("省份名称")
    private String provinceName;
    @ApiModelProperty("市code")
    private String cityCode;
    @ApiModelProperty("市名称")
    private String cityName;

    @ApiModelProperty("项目文件字符总数")
    private Long totalCharum;

    @ApiModelProperty("项目调整因子对象(根据项目类型不同包含国标和军标调整因子响应对象)")
    private ProjectParamResponse projectParam;

    @ApiModelProperty("项目资料文件列表")
    private List<InformationResponse> informationResponseList;

    /*@ApiModelProperty("催单标识0 未催单 1已催单")
    private Integer remindFlag;
    @ApiModelProperty("项目密码")
    private String projectPwd;
    @ApiModelProperty("密码输入错误超限锁定 0 未锁定 1已锁定")
    private Integer lockState;*/



}
